package Api;

import Util.HttpUtil;
import Util.MyKey;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import static Util.Tools.MaptoStr;
import static Util.Tools.getMD5;


/**
 * 余额查询API
 * https://www.heepay.com/API/Merchant/QueryBank.aspx
 * 需要的MD5密钥，商户后台网关密钥下面第一个
 */
public class QueryBankApi {

    public static void main(String[] args) {
        try {
            // 目标URL
            String url = "https://www.heepay.com/API/Merchant/QueryBank.aspx";
            //需要的MD5密钥，商户后台网关密钥下面第一个
            String key = MyKey.MD5Key;
            //商户编号，（汇付宝商户内码：七位整数数字）
            String agent_id = "1664502";
            //二级商户号（汇付宝商户内码：七位整数数字）
            String sub_agent_id = "";
            //固定版本号
            String version = "2";

            // 请求参数，以Map形式表示
            Map<String, String> parameters = new HashMap<>();
            //拼接待加密参数
            String Date = "version=" +
                    version +
                    "&agent_id=" +
                    agent_id +
                    "&key=" +
                    key;
            System.out.println("待签名串：---------------------" + Date);

            //MD5加密得出签名结果
            String sign = getMD5(Date);

            parameters.put("version", version);
            parameters.put("agent_id", agent_id);
            parameters.put("sub_agent_id", sub_agent_id);
            parameters.put("sign", sign);

            //打印请求参数
            String Str = MaptoStr(parameters);
            System.out.println("发送请求数据：---------------------"+ Str);

            String Response = HttpUtil.sendPost1(url, parameters);
            System.out.println("请求返回数据：---------------------"+Response);


        } catch (IOException ex) {
            throw new RuntimeException(ex);
        }
    }
}
